import { defineStore } from 'pinia';
import Cookies from 'js-cookie';
import { Session } from '/@/utils/storage';

/**
 * 用户信息
 * @methods setUserInfos 设置用户信息
 */
export const useUserInfo = defineStore('userInfo', {
	state: (): UserInfosState => ({
		userInfos: {
			companyId: '', // 所属公司
			roles: [],
			authBtnList: [],
			themeColor: 1, // 主题色；1.默认    2.blue   3.purple
			wordSize: 1, // 字号大小设置；1.默认    2.大号    3.加大号
			portrait: '', // 头像
			realName: '', // 真实姓名
			id: '' //用户ID
		},
	}),
	actions: {
		async setUserInfos() {
			// 存储用户信息到浏览器缓存
			if (Session.get('shebei')) {
				this.userInfos = Session.get('shebei');
			}
			// else {
			// 	const userInfos: any = await this.getApiUserInfo(); // 暂无这个接口
			// 	this.userInfos = userInfos;
			// }
		},
		// 模拟接口数据
		// https://gitee.com/lyt-top/vue-next-admin/issues/I5F1HP
		// async getApiUserInfo() {
		// 	return new Promise((resolve) => {
		// 		setTimeout(() => {
		// 			// 模拟数据，请求接口时，记得删除多余代码及对应依赖的引入
		// 			const userName = Cookies.get('userName');
		// 			// 模拟数据
		// 			let defaultRoles: Array<string> = [];
		// 			let defaultAuthBtnList: Array<string> = [];
		// 			// admin 页面权限标识，对应路由 meta.roles，用于控制路由的显示/隐藏
		// 			let adminRoles: Array<string> = ['admin'];
		// 			// admin 按钮权限标识
		// 			let adminAuthBtnList: Array<string> = ['btn.add', 'btn.del', 'btn.edit', 'btn.link'];
		// 			// test 页面权限标识，对应路由 meta.roles，用于控制路由的显示/隐藏
		// 			let testRoles: Array<string> = ['common'];
		// 			// test 按钮权限标识
		// 			let testAuthBtnList: Array<string> = ['btn.add', 'btn.link'];
		// 			// 不同用户模拟不同的用户权限
		// 			if (userName === 'admin') {
		// 				defaultRoles = adminRoles;
		// 				defaultAuthBtnList = adminAuthBtnList;
		// 			} else {
		// 				defaultRoles = testRoles;
		// 				defaultAuthBtnList = testAuthBtnList;
		// 			}
		// 			// 用户信息模拟数据
		// 			const userInfos = {
		// 				userName: userName,
		// 				photo:
		// 					userName === 'admin'
		// 						? 'https://img2.baidu.com/it/u=1978192862,2048448374&fm=253&fmt=auto&app=138&f=JPEG?w=504&h=500'
		// 						: 'https://img2.baidu.com/it/u=2370931438,70387529&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500',
		// 				time: new Date().getTime(),
		// 				roles: defaultRoles,
		// 				authBtnList: defaultAuthBtnList,
		// 			};
		// 			resolve(userInfos);
		// 		}, 0);
		// 	});
		// },
	},
});
